home *** CD-ROM | disk | FTP | other *** search
/ By Popular Request 2.0 / By Popular Request 2.0 (Arsenal Computer).ISO / amiga_6 / write473.lha / WRITE / Docs / GarbageCollector.lha / GarbageCollector.LiesMich next >
Text File  |  1993-02-19  |  8KB  |  185 lines

  1.                                                  16-Jun-92
  2.  
  3.  
  4.               Garbage-Collector Library
  5.            ===============================
  6.  
  7.  
  8. Was macht die garbagecollector.library:
  9.  
  10.   Ein sogenannter Garbage-Collector ist ein Programm, da▀ von anderen
  11.   Programmen nicht mehr verwendete Ressourcen, wie in diesem Fall
  12.   Systemspeicher, aufsucht und automatisch freigibt.
  13.  
  14.   Die Programme werden dadurch einfacher, flexibler und sicherer.
  15.  
  16.   Um ihre Arbeit zu verrichten startet diese Library einen Hintergrundproze▀,
  17.   der parallel zum eigentlichen Programm lΣuft und stΣndig abwechselnd
  18.   nicht mehr verwendeten Speicher aufsucht und diesen dann freigibt.
  19.  
  20.   Um die Effizienz zu steigern werden kleinere freie Speicherbl÷cke nicht
  21.   direkt an das System zurⁿckgegeben, sondern von der Library zwischen-
  22.   gespeichert, so da▀ sie schneller wieder verwendet werden k÷nnen.
  23.  
  24.  
  25. Der Voreinstellungser GarbagePrefs:
  26.  
  27.   Damit die Garbage-Collector Library auch auf sehr unterschiedlichen System
  28.   mit bestm÷glicher Effizienz eingesetzt werden kann, k÷nnen verschiedene
  29.   vom System abhΣngigen Einstellungen mit einem speziellen Editor gemacht
  30.   werden. Dies erledigt das Programm GarbagePrefs, das zu den anderen
  31.   Voreinstellungsern in das Verzeichnis 'Prefs' der Systemdiskette bzw.
  32.   der Systempartition kopiert werden sollte.
  33.  
  34.   Wird GarbagePrefs durch einen Doppelklick auf sein Piktogramm gestartet,
  35.   k÷nnen ▄ber verschiedene Symbole einige Werte verΣndert werden. Diese k÷nnen
  36.   dann wie bei den anderen Voreinstellungsern mit dem Symbol 'Speichern'
  37.   gespeichert und mit 'Benutzen' verwendet werden. 'Abbrechen' lΣ▀t die
  38.   zuletzt aktiven Werte unverΣndert.
  39.  
  40.   M÷chten Sie sich nicht weiter mit der Funktion der einzelnen einzustellen
  41.   befassen, reicht es, wenn Sie 'Werte vorschlagen' aus dem Menⁿ 'Editieren'
  42.   anwΣhlen und diese Werte dann mit 'Speichern' aktivieren.
  43.  
  44.   Die einzelnen Werte haben folgende Bedeutung:
  45.  
  46.   Collector-Task PrioritΣt:
  47.  
  48.     Die PrioritΣt des Hintergrundprozesses, der den Speicher einsammelt. Der
  49.     Werte sollte auf jeden Fall kleiner null sein, da sonst dieser Proze▀
  50.     alle Rechenzeit verwendet und ein normales Arbeiten mit dem Computer
  51.     unm÷glich macht.
  52.  
  53.     Zudem sollte die PrioritΣt kleiner als die aller Prozesse sein, die diese
  54.     Library verwenden.
  55.  
  56.   Auch Chip-RAM allozieren:
  57.  
  58.     Ist dieses Symbol angewΣhlt, alloziert diese Library sowohl Chip-RAM wie
  59.     auch sonstiges RAM. Ist es jedoch nicht angewΣhlt, wird das langsamere
  60.     Chip-RAM von der Library nicht verwendet. Dies ist jedoch nur sinnvoll,
  61.     wenn genⁿgend sonstiger Speicher existiert.
  62.  
  63.   Auf Collector-Zyklus warten:
  64.  
  65.     Ein Collector-Zyklus ist das Suchen von nicht mehr verwendetem Speicher
  66.     und das anschlie▀ende Freigeben dieses Speichers.
  67.  
  68.     Die hier einzugebenden Werte bestimmen, nach wievielen von der Library
  69.     angeforderten Objekten oder nach welcher Speichermenge die Library
  70.     mindestens einen Collector-Zyklus beendet haben sollte.
  71.  
  72.     Gibt man hier sehr gro▀e Werte an, kann es passieren, da▀ der Collector
  73.     zu wenig Rechenzeit bekommt und nach einiger Zeit einen sehr aufwendigen
  74.     Collector-Zyklus bearbeiten mu▀, da sehr viele Objekte untersucht werden
  75.     mⁿssen. Zu kleine Werte bremsen dagegen Programme stark, da sie zu oft
  76.     auf Collector-Zyklen warten mⁿssen, die eigentlich nicht unbedingt n÷tig
  77.     wΣren.
  78.  
  79.     Fⁿr die beiden Werte kann jeweils -1 angegeben werden, um anzuzeigen, da▀
  80.     beliebig viele Objekte bzw. beliebig viel Speicher alloziert werden kann,
  81.     ohne da▀ auf einen Collector-Zyklus gewartet wird.
  82.  
  83.   Maximal allozieren:
  84.  
  85.     Die hier angegebenen Werte geben die Obergrenze an Speicher an, der von
  86.     der Library alloziert werden darf. Es kann zum einen die maximale
  87.     Anzahl an angeforderten Objekten (Speicherbl÷cken) und zum anderen
  88.     die maximal Anzahl in Bytes angegeben werden.
  89.  
  90.   Speicher freihalten mindestens:
  91.  
  92.     Die angegebene Menge an Speicher wird vom Collector immer freigehalten
  93.     und bleibt dem System zur Verfⁿgung.
  94.  
  95.     Damit man auch bei einem Speichermangel noch mit dem Rechner arbeiten
  96.     kann, sollte man hier mindesten ca. 20000 Bytes freihalten.
  97.  
  98.     Alloziert die Library kein Chip-RAM (s.o.), kann hier jedoch ruhig
  99.     0 angegeben werden.
  100.  
  101.   Gr÷▀ten Block freihalten mindestens:
  102.  
  103.     Die Library alloziert nur Speicher, solange der gr÷▀te freie
  104.     Speicherblock gr÷▀er als der hier angegebene Wert bleibt.
  105.  
  106.   Freigehaltenen Speicher prⁿfen alle:
  107.  
  108.     Hier wird angegeben, wie oft, dh. nach wievielen Speicheranforderungen,
  109.     die bei 'Speicher freihalten mindestens' angegebene Untergrenze
  110.     geprⁿft werden soll.
  111.  
  112.     Wird dies zu oft geprⁿft, wird das Anfordern von Speicher deutlich
  113.     langsamer. Wird jedoch zu selten geprⁿft, kann die Untergrenze
  114.     dennoch unterschritten werden.
  115.  
  116.     '-1' gibt hier jeweils an, da▀ der freigehaltene Speicher nie geprⁿft
  117.     werden soll.
  118.  
  119.   Gr÷▀ten Block prⁿfen alle:
  120.  
  121.     Entsprechend zu 'Freigehaltenen Speicher prⁿfen', wird hier angegeben,
  122.     wie oft der gr÷▀te freizuhaltende Block geprⁿft werden soll.
  123.  
  124.     '-1' gibt hier jeweils an, da▀ der gr÷▀te Block nie geprⁿft werden soll.
  125.  
  126.   Maximale Gr÷▀e der gemerkten Objekte:
  127.  
  128.     Der hier angegebene Wert bestimmt eine maximale Gr÷▀e von Objekten, die
  129.     von der Library zwischengespeichert werden sollen, um die Effizienz beim
  130.     erneuten Anfordern eines solchen Objekts zu steigern.
  131.  
  132.   Maximal gemerkter Speicher:
  133.  
  134.     Hier kann angegeben werden, bis zu welcher maximalen Anzahl an Objekten
  135.     und welcher Obergrenze an Speicher die Library sich freie Objekte merken
  136.     soll, bevor sie sie an das System zurⁿckgibt.
  137.  
  138.     Gro▀e Werte hier erh÷hen die Effizienz, kosten jedoch Speicher.
  139.  
  140.  
  141. Das Statistikprogramm GCStat:
  142.  
  143.   Mit diesem Programm kann die AktivitΣt der Garbage-Collector Library
  144.   beobachtet werden. Nach dem Start durch AnwΣhlen des Piktogramms ÷ffnet
  145.   GCStat ein kleines Fenster. Dort werden in einer Zeile unter dem
  146.   Fenstertitel die Menge an derzeit von der Library allozierten Speicher,
  147.   die Anzahl der lebendigen und toten Objekte und die Nummer des aktuellen
  148.   Collector-Zyklus angezeigt.
  149.  
  150.   Lebendige Objekte sind diejenigen, von denen die Library meint, da▀ sie noch
  151.   in Benutzung sind. Tote Objekte werden derzeit von keinem Programm benutzt,
  152.   werden jedoch von der Library zwischengespeichert.
  153.  
  154.   Die Nummer des Collector-Zyklus wird einfach nach jedem Zyklus um eins hoch-
  155.   gezΣhlt. Der erste Zyklus hat die Nummer 1.
  156.  
  157.   Unterhalb dieser Textzeile zeigt GCStat grafisch das MengenverhΣltnis von
  158.   toten zu lebendigen Objekten an. Dabei wird der Anteil der lebendigen
  159.   Objekte mit Farbe 1 (gew÷hnlich schwarz) und der der toten mit Farbe 3
  160.   (gew÷hnlich blau) dargestellt.
  161.  
  162.   ZusΣtzlich zeigt eine waagerechte Linie in Farbe 2 (wei▀) an, wieviel
  163.   Speicher im Augenblick in Bytes von der Library alloziert wurde. Dabei ist
  164.   diese Linie oben im Fenster, wenn dies viel Speicher ist, und unten sonst.
  165.  
  166.  
  167. Kopierrecht:
  168.  
  169.   Die garbagecollector.library und der dazugeh÷rende Vereinsteller
  170.   GarbagePrefs und das Programm GCStat sind ⌐ 1992 Fridtjof Siebert.
  171.  
  172.   Sie und diese Dokumentation dⁿrfen, auch einzeln, zusammen mit Programmen,
  173.   die mit dem Amiga Oberon Compiler ⁿbersetzt wurden, frei vertrieben werden.
  174.   Dies schlie▀t die Ver÷ffentlichung als frei kopierbare oder auch als
  175.   kommerzielle Software ein.
  176.  
  177.   Zusammen mit Programmen, die diese Library benutzen, die jedoch nicht mit
  178.   Amiga Oberon ⁿbersetzt wurden, darf diese Library nur mit ausdrⁿcklicher
  179.   schriftlicher Genehmigung des Autors vertrieben werden.
  180.  
  181.  
  182. --- Fridtjof.
  183.  
  184.  
  185.